class Solution(object):
    def thirdMax(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        # 注意重复的数字
        nums = list(set(nums))
        nums.sort()
        if len(nums) < 3:
            return nums[-1]
        else:
            return nums[-3]
        
if __name__ == '__main__':
    nums = [2, 2, 3, 1]
    print(Solution().thirdMax(nums))
# 思路：
# 1. 先去重，然后排序
# 2. 如果长度小于3，直接返回最后一个元素
# 3. 否则，返回倒数第三个元素
# 时间复杂度：O(nlogn)
# 空间复杂度：O(n)
        
